草庐IT

Visual Studio 2008 中内置的 Python IDE?

全部标签

c# - 在 C# 中,是否有任何我不应该使用的内置异常?

.NETFramework中是否定义了任何我不应该在我自己的代码中抛出的异常,或者这是不好的做法?我应该自己写吗? 最佳答案 您不应抛出任何因用户错误而由CLR自动抛出的异常。比如堆栈溢出异常空引用异常访问冲突异常等...原因是这样做会给调用您的API的人造成困惑。用户应该能够区分API主动抛出的异常和非主动抛出的异常(由CLR抛出)。原因是主动抛出的异常通常表示API中的已知状态。如果我调用一个API并且它抛出一个ArgumentException,我有一个合理的期望,即给定的对象处于良好状态。它认识到潜在的不良情况并积极应对。另

c# - 在 Windows Server 2008 或更高版本上检测提升的权限

我有一个在WindowsServer平台(2008或更高版本)上运行的C#、.Net4.6.1Windows窗体应用程序,需要“以管理员身份运行”。需要提升权限,因为应用程序更改了各种文件夹的用户访问权限(如果重要,则在IIS默认网站根目录下)。我无法检测应用程序是否已“以管理员身份运行”。如果我正常启动应用程序(即不是作为管理员)以下代码varisAdmin=WindowsIdentity.GetCurrent().Owner.IsWellKnown(WellKnownSidType.BuiltinAdministratorsSid);返回true,但更改目录上某些用户访问权限的代码

c# - List.Contains() 的循环实现看起来比内置的更快。是吗?如果是这样,为什么?

(Thisquestionarisesfromadiscussionthatstartedhere)我正在比较寻找true的时间List中的值使用List.Contains()与那些用于手卷循环。我看到的结果与其他人报告的结果不同。我已经在几个系统上试过了,在我试过的所有系统上,循环似乎快了2到3.5倍。这些系统的范围从使用.Net4运行XP的5年前笔记本电脑到最近运行Windows8和.Net4.5的PC。其他人报告了不同的结果,即List.Contains()与循环的速度大致相同或略快。这是我的测试代码。usingSystem;usingSystem.Collections.Gen

c# - 为什么 C# 中的内置类型是语言关键字?

在C#中,int或string等标识符实际上是语言级别的关键字。这是什么原因?请注意,如果作者想要禁止使用这些名称的用户类型,那可能会造成语义错误,而不是语法错误。一些基于答案的澄清:它们是关键字,因为它使解析成为可能/更容易我不明白为什么,因为我正在开发一个解析器,并且Type.Rule=Identifier比Type.Rule=Identifier|简单得多。“诠释”|“字符串”|...。它们是关键字,因为它们是特殊的别名var和dynamic也是特殊的东西,但不是关键字(出于兼容性原因,尽管如此,它表明作为关键字不一定是特殊的)。在另一个示例中,将[Serializable]应用

c# - 如何根据 BrokeredMessage 类的内置属性过滤 ServiceBus 主题订阅?

使用2012年6月版的AzureSDK,我有一个服务总线主题,我正在为其添加订阅。我想过滤那个订阅。如果我根据我添加到BrokeredMessageProperties包中的一项来执行此操作,那么它可以正常工作://Sendthemessage:BrokeredMessagemessage=newBrokeredMessage(serializableObject);message.Properties.Add("MySessionId","GUID");getTopicClient("MY_TOPIC").Send(message);//methodcreatesclient.omi

c# - 如何为 VisualStudio2015 设置 .NET 版本(代码)

我们团队中的一些人正在使用VisualStudio2015,而其他人仍在使用2013(均使用ReSharper9.1)。项目属性中的目标框架设置为.NETFramework4.5.1。我的问题:我仍然可以使用类似的代码publicintX()=>x;这是.NET4.6的一项功能。当我构建项目时,它也会运行(我猜是因为它或多或少是语法糖,所以编译器生成不需要.NET4.6的代码)。然而,当我的同事检查我在VisualStudio2013中所做的更改时,他们并不是很开心;-)是否有可能在VisualStudio2015中因使用.NET4.6功能而收到警告/编译错误?

c# - VS 2008 Professional,Smart Device .NET C# 项目 - 构建缓慢

我有VS2008Professional和一个智能设备.NETC#项目。我总共有~100个cs文件。构建需要很长时间,我必须等待链接器大约。每次编译项目时1分钟(60秒)。我有Corei3、4GBRAM、7200rpm磁盘。是什么原因造成的,我该如何优化构建?任何VisualStudio选项? 最佳答案 如果您遵循HansPassant的评论中的建议并将MSBuild设置为诊断输出,它将更清楚地说明什么正在花费时间。如果您发现您的构建在许可编译器(LC.exe)上挂起,那么这可能是因为它试图调用服务器并超时。您可以通过更改您的mac

c# - 无法在 Visual Studio 2008 中创建 list 资源名称错误

我在Windows窗体应用程序中创建了一个Form1.cs,并且已经有一个文件Form1.resx。但是每当我尝试运行我的应用程序时,我都会不断收到以下错误:Unabletocreateamanifestresourcenamefor"....\gg\Form1.resx".Couldnotfindfile'C:\DocumentsandSettings\Administrator\Desktop\gg\Form1.cs'.谁能告诉我一个原因,我该如何克服我的问题? 最佳答案 您的.csproj已损坏。您需要手动编辑它。对于一个表单

c# - Visual Studio 2008 - 将构建时的文件移动到 bin/

编辑:这是一个用C#编写的VS2008应用。所以我的解决方案中有一个名为的文件夹_lib/这是我保存DLL的地方,因此当我引用它们时,它们会内置到bin/文件夹中。现在我的解决方案中有了一个新项目。它是一个DLL,但不应该被引用(它是第3方应用程序所必需的)。所以在构建时我希望将其从_lib/复制到bin/但不在项目中引用。我在我的应用程序中包含了_lib/文件夹,并且对于我选择的那个DLL的属性总是复制。这几乎有效,它将文件与文件夹一起复制,所以我的结构如下:/bin/_lib/thedll.dll代替/bin/thedll.dll有什么想法吗? 最佳答案

c# - Visual Studio 2008 : Step to next line is very slow when debugging managed code

当通过F10逐行单步执行我的C#代码时,调试器需要一秒钟多的时间才能到达下一行。我试过删除所有监视和断点,但这没有任何区别。这正常吗?很长一段时间以来都是这样,所以我什至不记得这是不是更好了。我的开发计算机是一台四核机器,没有后台任务事件并且有足够的RAM。如果不正常,我还能尝试什么?它仍然可以使用,但是一个不那么迟钝的用户界面会很棒...... 最佳答案 可能发生的情况是,您在调用堆栈框架中有一个变量,该变量具有昂贵的.ToString方法。在2008年,无论窗口是否实际可见,调用堆栈窗口的数据都会在每一步重建。构建此窗口的一部分